home *** CD-ROM | disk | FTP | other *** search
/ Commodore Disc 1 / Commodore_Disc_01_19xx_-_de.d64 / koenig arthus 64 (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  16KB  |  610 lines

  1. 10 rem koenig arthus ============64
  2. 20 rem (c) commodore welt team    =
  3. 30 rem     torsten seibt          =
  4. 40 rem ============================
  5. 50 rem                            =
  6. 60 rem                            =
  7. 70 rem version 2.0  40z/ascii     =
  8. 80 rem vc-64 + vc1530/1541        =
  9. 90 rem ============================
  10. 100 wh$=chr$(5):cv$=chr$(8)
  11. 110 ce$=chr$(9):rt$=chr$(13)
  12. 120 so$=chr$(14):cd$=chr$(17)
  13. 130 rn$=chr$(18):ho$=chr$(19)
  14. 140 de$=chr$(20):re$=chr$(28)
  15. 150 ch$=chr$(29):gr$=chr$(30)
  16. 160 bl$=chr$(31):sp$=chr$(32)
  17. 170 oe$=chr$(129):fa$=chr$(133)
  18. 180 fc$=chr$(134):fe$=chr$(135)
  19. 190 fg$=chr$(136):fb$=chr$(137)
  20. 200 fd$=chr$(138):ff$=chr$(139)
  21. 210 fh$=chr$(140):sr$=chr$(141)
  22. 220 gb$=chr$(142):bk$=chr$(144)
  23. 230 cu$=chr$(145):rf$=chr$(146)
  24. 240 cl$=chr$(147):in$=chr$(148)
  25. 250 br$=chr$(149):hr$=chr$(150)
  26. 260 gu$=chr$(151):gz$=chr$(152)
  27. 270 hg$=chr$(153):hb$=chr$(154)
  28. 280 gd$=chr$(155):pu$=chr$(156)
  29. 290 ct$=chr$(157):ye$=chr$(158)
  30. 300 cy$=chr$(159):sq$=chr$(160)
  31. 310 z1$=chr$(96):z2$=chr$(98)
  32. 320 z3$=chr$(123):z4$=chr$(171)
  33. 330 z5$=chr$(173):z6$=chr$(174)
  34. 340 z7$=chr$(176):z8$=chr$(177)
  35. 350 y1$=chr$(178):y2$=chr$(179)
  36. 360 y3$=chr$(189)
  37. 370 forq=1to37:q3$=q3$+z1$:nextq
  38. 380 forq=1to6:q6$=q6$+z1$:nextq
  39. 390 forq=1to7:q7$=q7$+z1$:nextq
  40. 400 forq=1to8:q8$=q8$+z1$:nextq
  41. 410 forq=1to9:q9$=q9$+z1$:nextq
  42. 420 v1$=chr$(58):v2$=chr$(105)
  43. 430 v3$=chr$(117):v4$=chr$(127)
  44. 440 v5$=chr$(161):v6$=chr$(162)
  45. 450 v7$=chr$(168):v8$=chr$(169)
  46. 460 v9$=chr$(188)
  47. 470 w1$=chr$(190):w2$=chr$(191)
  48. 480 goto590
  49. 490 forzz=1to40:printbl$chr$(163);:nextzz:return
  50. 500 print" "bk$rn$"          weiter mit space           "
  51. 510 geta$:ifa$=""then510
  52. 520 return
  53. 530 printcl$cv$gb$
  54. 540 form=1to40:printbl$chr$(175);:nextm
  55. 550 forj=1to40:printye$chr$(164);:nextj
  56. 560 printye$rn$"*           koenig arthus              *"rf$
  57. 570 forn=1to40:printbl$chr$(183);:nextn
  58. 580 return
  59. 590 y(0)=1200
  60. 600 databauer,arbeiter,herr,baron,graf,herzog,prinz,koenig
  61. 610 dataholstein,sachsen,boehmen,schwaben,bayern,schlesien,arelat,pommern
  62. 620 restore:poke53281,0:poke53280,0:gosub530
  63. 630 fora=1to8:reada$:next
  64. 640 printcd$wh$"anzahl der mitspieler <1-8>"
  65. 650 print:inputf
  66. 660 iff<1orf>8then620
  67. 670 print:fora=1tof:readt$(a)
  68. 680 printbl$"wer soll in ";t$(a);" herrschen"
  69. 690 print:inputn$:print
  70. 700 iflen(n$)>10then680
  71. 710 n$(a)=n$+" von "+t$(a)
  72. 720 g(a)=10
  73. 730 h(a)=10
  74. 740 i(a)=10
  75. 750 j(a)=2
  76. 760 o(a)=1220+int(rnd(1)*30)
  77. 770 k(a)=1500
  78. 780 l(a)=12000
  79. 790 r(a)=4000
  80. 800 t(a)=1
  81. 810 u(a)=1
  82. 820 n(a)=5
  83. 830 p(a)=25
  84. 840 q(a)=5
  85. 850 m(a)=20
  86. 860 s(a)=1800
  87. 870 next
  88. 880 fora=1tof
  89. 890 restore
  90. 900 b=t(a)
  91. 910 forc=1tob
  92. 920 readt$(a)
  93. 930 next
  94. 940 next
  95. 950 gosub530
  96. 960 printcd$ye$"bedienungsanleitung bekannt (j/n)"
  97. 970 print:inputa$
  98. 980 ifleft$(a$,1)="n"thengosub5690
  99. 990 poke53281,0:poke53280,0
  100. 1000 gosub530:printspc(45)bl$"1. "wh$"blutiger anfaenger"cd$
  101. 1010 printtab(5)bl$"2. "ye$"gesponserter amateur"cd$
  102. 1020 printtab(5)bl$"3. "pu$"bezahlter profi"cd$
  103. 1030 printtab(5)bl$"4. "gr$"meister aller klassen"
  104. 1040 printcd$ye$"ein wie guter spieler sind sie <1-4>"
  105. 1050 print:inputu
  106. 1060 u(0)=int(u)
  107. 1070 ifu<1thenu(0)=1
  108. 1080 ifu>4thenu(0)=4
  109. 1090 u(0)=u(0)+5
  110. 1100 e=e+1
  111. 1110 ift(e)=-1thene=e+1
  112. 1120 ift(1)<1andt(2)<1andt(3)<1andt(4)<1andt(5)<1andt(6)<1andt(7)<1andt(8)<1then100
  113. 1130 ife>fthene=0:y(0)=y(0)+1:goto1100
  114. 1140 ify(0)>o(e)then1100
  115. 1150 ify(0)=o(e)then1330
  116. 1160 gosub1600
  117. 1170 gosub2330
  118. 1180 gosub3110
  119. 1190 gosub2740
  120. 1200 gosub3770
  121. 1210 gosub4630
  122. 1220 gosub5010
  123. 1230 goto1100
  124. 1240 poke53281,6:poke53280,4
  125. 1250 printcl$bk$rn$" land  hoef- leib-  kirche haend- sol-  ";
  126. 1260 print" qm/2  linge eigene klerus ler    daten "
  127. 1270 fora=1tof:printgz$t$(a)" "n$(a)
  128. 1280 l$=str$(l(a))
  129. 1290 l$=wh$+right$(l$,len(l$)-1)
  130. 1300 printl$tab(6)n(a)tab(12)s(a)tab(19)q(a)tab(26)m(a)tab(33)p(a)
  131. 1310 next
  132. 1320 print:gosub500:return
  133. 1330 poke53281,2:poke53280,2
  134. 1340 printcl$rn$bk$v3$;:forp=1to38:printz1$;:nextp:printv2$;
  135. 1350 printz2$" eine schreckliche nachricht traf ein "z2$;
  136. 1360 printchr$(106);:forp=1to38:printz1$;:nextp:printchr$(107)
  137. 1370 printcd$ye$t$(e)" "n$(e)
  138. 1380 print"ist gerade "
  139. 1390 t(e)=-1:y=int(rnd(8)*8)+1
  140. 1400 ify(0)>1250thenprint"nach langer regierung gestorben worden.":goto1460
  141. 1410 ify<4thenprint"im schweren schneesturm verschollen."
  142. 1420 ify=5thenprint"an cholera (vibrio cholerae) gestorben."
  143. 1430 ify=4thenprint"beim sturz vom pferd leider toedlich    verunglueckt."
  144. 1440 ify=6thenprint"von attentaetern ermordet worden."
  145. 1450 ify>6thenprint"an unbekannter krankheit (maetresse)    gestorben."
  146. 1460 print:eg=1
  147. 1470 gosub500
  148. 1480 gosub3770
  149. 1490 gosub1240
  150. 1500 eg=0
  151. 1510 goto1100
  152. 1520 i1=int(i1):return
  153. 1530 c1=int(c1):return
  154. 1540 s1=int(s1):return
  155. 1550 k(e)=int(k(e)):return
  156. 1560 z=(int(rnd(a)*a)+1)*s(e)/100:z2=z:printbl$int(z2)"neugeborene leibeigene."
  157. 1570 print:s(e)=s(e)+z2:return
  158. 1580 z=(int(rnd(a)*a)+1)*s(e)/100:z2=z:printre$int(z2)"leibeigene gestorben."
  159. 1590 print:s(e)=s(e)-z2:return
  160. 1600 w=(int(rnd(5)*5)+2+int(rnd(6)*6))/2
  161. 1610 onwgoto1620,1630,1640,1650,1660
  162. 1620 w$="duerre":goto1670
  163. 1630 w$="schlechtes wetter":goto1670
  164. 1640 w$="durchschnittliches wetter":goto1670
  165. 1650 w$="gutes wetter":goto1670
  166. 1660 w$="phantastisches wetter":goto1670
  167. 1670 r=int(rnd(50)*50)+1
  168. 1680 r(e)=(r(e)*100-r(e)*r)/100
  169. 1690 x=l(e):y=(s(e)-d(e)*100)*5
  170. 1700 ify<0theny=0:goto1720
  171. 1710 ify<xthenx=y
  172. 1720 y=r(e)*2:ify<xthenx=y
  173. 1730 y=w-.5:h1=x*y:r(e)=r(e)+h1
  174. 1740 d1=n(e)*100+c(e)*40+m(e)*30+p(e)*10+s(e)*5
  175. 1750 l=(3*w+int(rnd(6)*6)+2+int(rnd(6)*6)+10)/10
  176. 1760 ifh1<1theny=2:goto1780
  177. 1770 y=d1/h1:ify>2theny=2
  178. 1780 ify<.8theny=.8
  179. 1790 l=l*y:l=int(l*10):l=l/10
  180. 1800 z=6-w
  181. 1810 g=(z*5+int(rnd(5)*5)+int(rnd(5)*5))/5*y*20
  182. 1820 return
  183. 1830 print
  184. 1840 printbr$"von ihrem lagerweizen wurde von ratten"
  185. 1850 printr" prozent gefressen"
  186. 1860 printbl$w$
  187. 1870 printbk$"* jahresernte weizen:"int(h1)"scheffel *"
  188. 1880 print:ifk(e)<32766thengosub1550
  189. 1890 r$=str$(int(r(e))):r$=right$(r$,len(r$)-1):ifr(e)<0thenr$="  0"
  190. 1900 d$=str$(int(d1)):d$=right$(d$,len(d$)-1)
  191. 1910 g$=str$(int(g)):g$=" "+g$:l$=str$(l):l$="  "+l$
  192. 1920 k$=str$(int(k(e)))
  193. 1930 printbk$z7$q7$y1$q6$y1$q7$y1$q8$y1$q6$z6$;
  194. 1940 printz2$"weizen "z2$"weizen"z2$"weizen "z2$"land    "z2$"$$$$$$"z2$;
  195. 1950 printz2$"reserve"z2$"bedarf"z2$"preis  "z2$"preis   "z2$"      "z2$;
  196. 1960 printbk$z4$q7$z3$q6$z3$q7$z3$q8$z3$q6$y2$;
  197. 1970 printz2$r$tab(8)z2$d$tab(15)z2$g$tab(23)z2$l$tab(32)z2$k$tab(39)z2$;
  198. 1980 printbk$z4$q7$z8$q6$z3$q7$z3$q8$z3$q6$y2$;
  199. 1990 printz2$"scheffel      "z2$"1000 sl"z2$"morgen  "z2$"gold  "z2$;
  200. 2000 printbk$z5$q7$z1$q6$z8$q7$z8$q8$z8$q6$y3$;
  201. 2010 return
  202. 2020 j=(j(e)*300-500)*t(e)
  203. 2030 onj(e)goto2040,2060,2080,2100
  204. 2040 j$="gnaedig"
  205. 2050 goto2110
  206. 2060 j$="fair"
  207. 2070 goto2110
  208. 2080 j$="ungerecht"
  209. 2090 goto2110
  210. 2100 j$="bestechl."
  211. 2110 y=150-g(e)-h(e)-i(e)
  212. 2120 ify<1theny=1
  213. 2130 c1=(n(e)*180+q(e)*75+m(e)*20)*(y/100)+u(e)*100
  214. 2140 s1=(n(e)*50+m(e)*25+u(e)*19)*(y/100)*(5-j(e))/2
  215. 2150 i1=n(e)*250+u(e)*20+(10*j(e)*n(e))*(y/100)
  216. 2160 c1=c1*g(e)/100
  217. 2170 ifc1<32760thengosub1530
  218. 2180 s1=s1*h(e)/100
  219. 2190 ifs1<32760thengosub1540
  220. 2200 i1=i1*i(e)/100
  221. 2210 ifi1<32760thengosub1520
  222. 2220 printbk$z7$q3$z6$
  223. 2230 printz2$"steuer einkuenfte"j+c1+s1+i1"goldstuecke."tab(38)z2$
  224. 2240 printbk$z4$q9$y1$q7$y1$q9$y1$q9$y2$
  225. 2250 printz2$"zoll     "z2$"verkauf"z2$"einkommen"z2$"gerichts-"z2$
  226. 2260 printz2$"abgaben  "z2$"steuer "z2$"steuer   "z2$"wesen    "z2$
  227. 2270 printbk$z4$q9$z3$q7$z3$q9$z3$q9$y2$
  228. 2280 printz2$"  "g(e)ct$"%"tab(10)z2$" "h(e)ct$"%";
  229. 2290 printtab(18)z2$"  "i(e)ct$"%"tab(28)z2$j$tab(38)z2$
  230. 2300 printz2$"  "c1tab(10)z2$" "s1tab(18)z2$" "i1tab(28)z2$"  "jtab(38)z2$
  231. 2310 printbk$z5$q9$z8$q7$z8$q9$z8$q9$y3$
  232. 2320 return
  233. 2330 poke53280,7:poke53281,7
  234. 2340 printcl$bk$t$(e)" "n$(e)
  235. 2350 gosub490
  236. 2360 gosub1830
  237. 2370 printcd$"[1] kaufe weizen    [3] kaufe land"
  238. 2380 print"[2] verkaufe weizen [4] verkaufe land"
  239. 2390 printcd$bl$"[0] weiterspielen   [0-4] bitte waehlen"
  240. 2400 inputi
  241. 2410 ifi>4then2330
  242. 2420 ifi<1thenreturn
  243. 2430 onigoto2440,2540,2610,2670
  244. 2440 printbk$"wieviel weizen wollen sie kaufen"
  245. 2450 inputi
  246. 2460 ifi<1then2490
  247. 2470 k(e)=k(e)-(i*g/1000)
  248. 2480 r(e)=r(e)+i
  249. 2490 printcl$bk$t$(e)" "n$(e)
  250. 2500 gosub490
  251. 2510 printtab(80)
  252. 2520 print:gosub1880
  253. 2530 goto2370
  254. 2540 printbk$"wieviel weizen wollen sie verkaufen"
  255. 2550 inputi
  256. 2560 ifi<1then2490
  257. 2570 ifi>r(e)thenprintre$"sie haben ja gar nicht so viel !":goto2540
  258. 2580 k(e)=k(e)+(i*g/1000)
  259. 2590 r(e)=r(e)-i
  260. 2600 goto2490
  261. 2610 printpu$"wieviele morgen wollen sie kaufen"cd$
  262. 2620 inputi
  263. 2630 ifi<0then2490
  264. 2640 l(e)=l(e)+i
  265. 2650 k(e)=k(e)-(i*l)
  266. 2660 goto2490
  267. 2670 printpu$"wieviele morgen wollen sie verkaufen"
  268. 2680 inputi
  269. 2690 ifi<0then2490
  270. 2700 ifi>(l(e)-5000)thenprintre$"sie haben ja gar nicht so viel !":goto2670
  271. 2710 l(e)=l(e)-i
  272. 2720 k(e)=k(e)+(i*l)
  273. 2730 goto2490
  274. 2740 printcl$:poke53281,5:poke53280,6
  275. 2750 printye$t$(e)" "n$(e)
  276. 2760 gosub490
  277. 2770 print:gosub2020
  278. 2780 printcd$"[1] zollabgaben     [3] einkommensteuer"
  279. 2790 print"[2] verkaufsteuer   [4] gericht"
  280. 2800 print"[0] = weiter       "wh$"[0-4] = waehlen sie"
  281. 2810 inputi
  282. 2820 ifi>4then2800
  283. 2830 ifi<1then3070
  284. 2840 onigoto2850,2900,2940,2980
  285. 2850 printwh$"neue zollabgaben (0-100)"
  286. 2860 inputi
  287. 2870 ifi>100theni=100
  288. 2880 ifi<0theni=0
  289. 2890 g(e)=i:goto2740
  290. 2900 printwh$"neue verkaufsteuer (0-50)"
  291. 2910 inputi
  292. 2920 if(i>50)or(i<0)theni=5
  293. 2930 h(e)=i:goto2740
  294. 2940 printwh$"neue einkommensteuer (0-25)"
  295. 2950 inputi
  296. 2960 if(i<0)or(i>25)theni=0
  297. 2970 i(e)=i:goto2740
  298. 2980 printwh$cl$:forq=1to40:printchr$(45);:nextq
  299. 2990 printrn$spc(16)"gericht"
  300. 3000 forq=1to40:printchr$(45);:nextq
  301. 3010 printcd$"[1] gnaedig         [3] ungerecht"
  302. 3020 printcd$"[2] fair            [4] bestechlich"
  303. 3030 printcd$bl$"welche stufe"
  304. 3040 inputi
  305. 3050 if(i>4)or(i<1)theni=1
  306. 3060 j(e)=i:goto2740
  307. 3070 k(e)=k(e)+c1+s1+i1+j
  308. 3080 ifk(e)<0thenk(e)=k(e)*1.5
  309. 3090 ifk(e)<(-10000*t(e))then5360
  310. 3100 return
  311. 3110 printcl$bk$t$(e)" "n$(e)
  312. 3120 gosub490
  313. 3130 printtab(120):gosub1880
  314. 3140 printcd$bl$"wieviel weizen geben sie ihren leuten"
  315. 3150 print"zum taeglichen verbrauch"cd$
  316. 3160 inputg
  317. 3170 ifg<(r(e)/4)thenprintre$"sie muessen mindestens 25% freigeben":goto3140
  318. 3180 ifg>(r(e)*.75)thenprintre$"sie muessen mindestens 25% aufbewahren":goto3140
  319. 3190 r(e)=r(e)-g
  320. 3200 printcl$bk$t$(e)" "n$(e)
  321. 3210 forzz=1to40:printchr$(163);:nextzz
  322. 3220 poke53281,1:poke53280,1
  323. 3230 z=g/d1-1
  324. 3240 ifz>0thenz=z/2
  325. 3250 ifz>.25thenz=z/10+.25
  326. 3260 z2=50-g(e)-h(e)-i(e)
  327. 3270 ifz2<0thenz2=z2*j(e)
  328. 3280 z2=z2/10
  329. 3290 ifz2>0thenz2=z2+3-j(e)
  330. 3300 z=z+(z2/10)
  331. 3310 ifz>.5thenz=.5
  332. 3320 ifg<(d1-1)then3580
  333. 3330 a=7:gosub1560
  334. 3340 a=3:gosub1580
  335. 3350 if(g(e)+h(e))<35thenm(e)=n(e)+int(rnd(2)*2):q(e)=q(e)+int(rnd(3)*3)
  336. 3360 ifi(e)<int(rnd(20)*20)+1thenn(e)=n(e)+int(rnd(2)*2):q(e)=q(e)+int(rnd(3)*3)
  337. 3370 ifg<(d1+d1*.3)then3510
  338. 3380 z2=s(e)/1000
  339. 3390 z=(g-d1)/d1*10
  340. 3400 z=z*z2*int(rnd(25)*25+1)+int(rnd(40)*40+1)
  341. 3410 ifz>32000thenz=32000
  342. 3420 z2=z:z=int(rnd(4)*z2)+1
  343. 3430 printcd$bk$z"leibeigene sind eingewandert"cd$
  344. 3440 s(e)=s(e)+z
  345. 3450 z2=z/5
  346. 3460 z=int(rnd(5)*z2)+1
  347. 3470 ifz>50thenz=50
  348. 3480 m(e)=m(e)+z
  349. 3490 n(e)=n(e)+1
  350. 3500 q(e)=q(e)+2
  351. 3510 ifj(e)<3then3570
  352. 3520 j1=s(e)/100*(j(e)-2)*(j(e)-2)
  353. 3530 j1=int(rnd(8)*j1)+1
  354. 3540 s(e)=s(e)-j1
  355. 3550 printcd$cy$j1"leibeigene sind wegen ungerechter"
  356. 3560 print"herrschaft ausgewandert"
  357. 3570 goto3640
  358. 3580 x=(d1-g)/d1*100-9
  359. 3590 ifx>65thenx=65
  360. 3600 ifx<0thenx2=0:x=0
  361. 3610 a=3:gosub1560
  362. 3620 a=x2+8:gosub1580
  363. 3630 goto3510
  364. 3640 z=a(e)*75
  365. 3650 k(e)=k(e)+z
  366. 3660 ifz>0thenprintcd$bl$" markt brachte"z"golddstuecke ein."cd$
  367. 3670 ifs(e)<32766thens1=s(e):gosub1540:s(e)=s1
  368. 3680 z=d(e)*(55+int(rnd(250)*250+1))
  369. 3690 ifz>0thenk(e)=k(e)+z:printpu$" muehle brachte"z"goldstuecke ein."cd$
  370. 3700 z=p(e)*3:printgr$" armee kostet"z"goldstuecke."cd$:k(e)=k(e)-z
  371. 3710 if(l(e)/1000)>p(e)then5470
  372. 3720 if(l(e)/500)<p(e)then3760
  373. 3730 fora=1tof:ifa=ethen3750
  374. 3740 ifp(a)>(p(e)*2.4)then5470
  375. 3750 next
  376. 3760 print:gosub500:return
  377. 3770 poke53281,5:poke53280,4
  378. 3780 printcl$bk$
  379. 3790 l2=(l(e)/1000)
  380. 3800 ifl2<10thenx=30:y=20:goto3870
  381. 3810 ifl2<30thenx=25:y=17:goto3870
  382. 3820 ifl2<50thenx=20:y=14:goto3870
  383. 3830 ifl2<70thenx=15:y=11:goto3870
  384. 3840 ifl2<90thenx=10:y=08:goto3870
  385. 3850 ifl2<110thenx=5:y=5:goto3870
  386. 3860 x=1:y=2:goto3870
  387. 3870 a$=bk$:fora=1toy:a$=a$+cd$:nexta
  388. 3880 fora=1tox:a$=a$+ch$:nexta
  389. 3890 fora=xto39:a$=a$+chr$(118):next
  390. 3900 printho$a$
  391. 3910 a$=bk$:fora=1toy-1:a$=a$+cd$:next
  392. 3920 fora=1tox:a$=a$+ch$:next
  393. 3930 b$=a$+ct$:c$=a$:d$=a$:e$=a$:f$=a$:g$=a$
  394. 3940 fora=y-1to23:a$=a$+cd$+ct$+chr$(118):next
  395. 3950 printho$a$;
  396. 3960 c1$=br$+cu$+w2$+w2$+w1$+cd$+ct$+ct$+ct$+rn$+v5$
  397. 3970 c2$=sp$+cd$+ct$+ct$+v5$+sp$+rf$
  398. 3980 c1$=c1$+c2$
  399. 3990 c3$=br$+cu$+w2$+w2$+w1$+v9$+rn$+w2$
  400. 4000 c4$=w2$+cd$+ct$+ct$+ct$+ct$+ct$+ct$+v5$+sp$+rf$
  401. 4010 c5$=v7$+v7$+rn$+sp$+rf$+v5$+cd$+ct$+ct$+ct$+ct$+ct$+ct$
  402. 4020 c6$=rn$+w1$+p$+sp$+sp$+sp$+sp$+v9$+rf$
  403. 4030 c3$=c3$+c4$+c5$+c6$
  404. 4040 if(p(e)-5)<(l(e)/1000)then4080
  405. 4050 if(p(e)/2)<(l(e)/1000)then4070
  406. 4060 printho$b$c3$:goto4080
  407. 4070 printho$b$c1$
  408. 4080 fora=y-2toy+int((23-y)*.8)
  409. 4090 c$=c$+cd$:next
  410. 4100 fora=x+1tox+int((39-x)*.1)
  411. 4110 c$=c$+ch$:next:c$=c$+ch$
  412. 4120 z=c(e)+1:ifz>7thenz=7
  413. 4130 ifz=0then4210
  414. 4140 c$(2)=bl$+v9$+rn$+v6$+rf$+w1$+cu$+ct$+ct$+ct$+rn$+pu$+v8$+sp$+v4$
  415. 4150 c$(3)=c$(2)+cu$+ct$+ct$+rf$+wh$+z3$:c$(1)=" "
  416. 4160 c$(4)=c$(3)+cd$+cd$+bl$+rn$+v6$+v6$+v6$+v6$+rf$+w1$
  417. 4170 c$(5)=c$(4)+cu$+ct$+ct$+ct$+rn$+pu$+v8$+sp$+v4$
  418. 4180 c$(6)=c$(5)+cu$+ct$+ct$+rf$+wh$+z3$
  419. 4190 c$(7)=c$(6)+ct$+ct$+ct$+bk$+rf$+z3$+cd$+ct$+rn$+ye$
  420. 4200 c1$=c$(z):printho$;c$;c1$;
  421. 4210 fora=y-2toy+int((23-y)*.8)
  422. 4220 d$=d$+cd$:next
  423. 4230 fora=xtox+int((39-x)*.5)
  424. 4240 d$=d$+ch$:next
  425. 4250 ifb(e)=0then4320
  426. 4260 ifl(e)<10000thend$=d$+ct$+ct$
  427. 4270 c$(1)=rn$+bk$+v1$+v2$+cu$+ct$+ct$+pu$+v8$+v4$
  428. 4280 c$(2)=c$(1)+rf$+ye$+v3$+v2$+cd$+ct$+ct$+br$+rn$+z7$+z6$
  429. 4290 c$(3)=c$(2)+br$+rn$+v1$+v2$+cu$+ct$+ct$+pu$+v8$+v4$
  430. 4300 a=b(e):ifa>3thena=3
  431. 4310 printho$d$c$(a)
  432. 4320 fora=ytoy+int((25-y)*.3)
  433. 4330 e$=e$+cd$:next
  434. 4340 fora=xtox+int((39-x)*.1)
  435. 4350 e$=e$+ch$:next
  436. 4360 fg=a(e):iffg>40-athenfg=40-a
  437. 4370 ifa(e)=0then4390
  438. 4380 fora=1tofg:e$=e$+rf$+bl$+chr$(120):next
  439. 4390 printho$e$;
  440. 4400 fora=ytoy+int((25-y)*.49)
  441. 4410 f$=f$+cd$:next
  442. 4420 fora=xtox+int((39-x)*.14)
  443. 4430 f$=f$+ch$:next
  444. 4440 fg=d(e):iffg>40-athenfg=40-a
  445. 4450 iffg=0then4470
  446. 4460 fora=1tofg:f$=f$+ye$+rf$+chr$(97):next
  447. 4470 printho$f$;
  448. 4480 z=s(e)-d(e)*100
  449. 4490 g$=g$+cd$
  450. 4500 ifz<0thenz=.1
  451. 4510 z=z*5/l(e)*10
  452. 4520 ifz>10thenz=10
  453. 4530 z=10-z
  454. 4540 z=int((24-y)*(z/10))+1
  455. 4550 fora=1toz
  456. 4560 g$=g$+cd$:next
  457. 4570 fora=1to(39-x)
  458. 4580 g$=g$+ch$:next
  459. 4590 printho$g$bl$rn$chr$(122);
  460. 4600 printho$cd$cd$wh$tab(14)"jahr:"y(0)
  461. 4610 ifeg=1thenprintho$ye$tab(165)t$(e)" "n$(e)
  462. 4620 printho$;:gosub500:return
  463. 4630 printcl$;:poke53280,9:poke53281,8
  464. 4640 printbk$t$(e)" "n$(e)
  465. 4650 gosub490
  466. 4660 printbl$"staatsinvestitionsmoeglichkeiten:"cd$
  467. 4670 printbk$"[1] markt              1000 goldstuecke"
  468. 4680 print"[2] muehle             2000 goldstuecke"
  469. 4690 print"[3] palast (teil)      3000 goldstuecke"
  470. 4700 print"[4] kirche (teil)      5000 goldstuecke"
  471. 4710 print"[5] ausgest. armeeinh.  500 goldstuecke"
  472. 4720 printcd$ye$"sie haben"int(k(e))"goldstuecke."cd$
  473. 4730 printwh$"[0] = fortfahren / [6] = spielstand"
  474. 4740 input"ihre wahl";i
  475. 4750 ifi<1thenreturn
  476. 4760 ifi>5thengosub1240:goto4630
  477. 4770 onigoto4820,4780,4870,4920,4970
  478. 4780 d(e)=d(e)+1
  479. 4790 k(e)=k(e)-2000
  480. 4800 u(e)=u(e)+.25
  481. 4810 goto4630
  482. 4820 a(e)=a(e)+1
  483. 4830 m(e)=m(e)+5
  484. 4840 k(e)=k(e)-1000
  485. 4850 u(e)=u(e)+.1
  486. 4860 goto4630
  487. 4870 b(e)=b(e)+1
  488. 4880 n(e)=n(e)+int(rnd(2)*2)+1
  489. 4890 k(e)=k(e)-3000
  490. 4900 u(e)=u(e)+.5
  491. 4910 goto4630
  492. 4920 c(e)=c(e)+1
  493. 4930 q(e)=q(e)+int(rnd(6)*6)+1
  494. 4940 k(e)=k(e)-5000
  495. 4950 u(e)=u(e)+1
  496. 4960 goto4630
  497. 4970 p(e)=p(e)+20
  498. 4980 s(e)=s(e)-20
  499. 4990 k(e)=k(e)-500
  500. 5000 goto4630
  501. 5010 printtab(80)
  502. 5020 z=0
  503. 5030 a=a(e):gosub5270
  504. 5040 a=b(e):gosub5270
  505. 5050 a=c(e):gosub5270
  506. 5060 a=d(e):gosub5270
  507. 5070 a=k(e)/5000:gosub5270
  508. 5080 a=l(e)/6000:gosub5270
  509. 5090 a=m(e)/50:gosub5270
  510. 5100 a=n(e)/5:gosub5270
  511. 5110 a=p(e)/50:gosub5270
  512. 5120 a=q(e)/10:gosub5270
  513. 5130 a=s(e)/2000:gosub5270
  514. 5140 a=u(e)/5:gosub5270
  515. 5150 a=z/u(0)-j(e)
  516. 5160 a=int(a)
  517. 5170 ifa>8thena=8
  518. 5180 if(y(0)+2)=o(e)thent(e)=t(e)+1
  519. 5190 ift(e)>=athen5260
  520. 5200 t(e)=a
  521. 5210 restore
  522. 5220 forb=1to(t(e)+v(e))
  523. 5230 readt$(e)
  524. 5240 next
  525. 5250 ift(e)=8then5310
  526. 5260 return
  527. 5270 ifa>10thena=10
  528. 5280 a=int(a)
  529. 5290 z=z+a
  530. 5300 return
  531. 5310 printcl$;:poke53280,6:poke53281,14
  532. 5320 eg=1
  533. 5330 gosub3770
  534. 5340 gosub1240
  535. 5350 clr:goto10
  536. 5360 poke53280,2:poke53281,2:printcl$cy$;
  537. 5370 printt$(e)" "n$(e)" ist bankrott"cd$
  538. 5380 printwh$"die glaeubiger haben sich das meiste "
  539. 5390 print"ihres vermoegens angeeignet."cd$
  540. 5400 print"viele leibeigene verlassen das land"cd$
  541. 5410 gosub500
  542. 5420 a(e)=0:b(e)=0:c(e)=0:d(e)=0
  543. 5430 l(e)=6000:u(e)=1:k(e)=100
  544. 5440 s(e)=int(s(e)*rnd(1))
  545. 5450 ifr(e)>5000thenr(e)=5000
  546. 5460 return
  547. 5470 z=0:fora=1tof
  548. 5480 ifa=ethen5520
  549. 5490 ifp(a)<p(e)then5520
  550. 5500 ifp(a)<(1.2*(l(a)/1000))then5520
  551. 5510 ifp(a)>p(z)thenz=a
  552. 5520 next
  553. 5530 ifz<>0then5570
  554. 5540 t$(0)="baron":n$(0)="igor v. fronkensteein"
  555. 5550 a1=1001+int(rnd(8)*9000)
  556. 5560 goto5580
  557. 5570 a1=p(z)*1000-l(z)/3
  558. 5580 ifa1>(l(e)-5000)thena1=(l(e)-5000)/2
  559. 5590 printre$:forzz=1to40:printz1$;:nextzz
  560. 5600 printbk$t$(z)" "n$(z)" greift an und"
  561. 5610 print"besetzt"a1"morgen land!"
  562. 5620 l(z)=l(z)+a1:l(e)=l(e)-a1
  563. 5630 z=int(rnd(4)*40)+1:ifz>(p(e)-15)thenz=p(e)-15
  564. 5640 printt$(e)" "n$(e)
  565. 5650 print"verliert"z"soldaten."
  566. 5660 printbk$:forzz=1to40:printz1$;:nextzz
  567. 5670 p(e)=p(e)-z
  568. 5680 print:gosub500:return
  569. 5690 poke53280,11:poke53281,15
  570. 5700 printcl$bl$" "rn$"           koenig arthus              "cd$bk$
  571. 5710 print"sie sind der herrscher eines verarmten "
  572. 5720 print"geschlechtes aus dem 13. jahrhundert sie";
  573. 5730 print"muessen durch kauf, verkauf von land und";
  574. 5740 print"weizen, festlegung von steuern, zuwei-"
  575. 5750 print"sung von weizen, anschaffung von guetern";
  576. 5760 print"ihr geschick im regieren beweisen. je  "
  577. 5770 print"besser sie sind, desto schneller er-"
  578. 5780 print"reichen sie das ziel in der regierungs-"
  579. 5790 print"hierarchie: "re$"koenig"bk$" zu werden."
  580. 5800 print"denn sieger ist, wer zuerst koenig ist."
  581. 5810 print"aber vorsicht, denn das leben in jener"
  582. 5820 print"zeit war kurz, und schon mancher ist"
  583. 5830 print"vor dem ziel auf der strecke geblieben!"cd$
  584. 5840 print"der computer zeichnet eine karte ihres"
  585. 5850 print"landes. die groesse der burg im eck"
  586. 5860 print"zeigt die angemessenheit ihrer armee."
  587. 5870 print"wenn sie schrumpft, dann ruesten sie"
  588. 5880 print"mehr soldaten aus!"cd$
  589. 5890 print" "bk$rn$"           weiter mit space           "
  590. 5900 getb$:ifb$=""then5900
  591. 5910 printcl$bl$" "rn$"            koenig arthus             "cd$bk$
  592. 5920 print"wenn die markierung die mauer beruehrt,"
  593. 5930 print"wird im ganzen land produziert, sonst"
  594. 5940 print"benoetigen sie noch mehr leibeigene als"
  595. 5950 print"arbeiter auf den bauernhoefen."
  596. 5960 print"hoehere steuern bringen mehr geld, aber"
  597. 5970 print"verringern das wirtschaftswachstum."
  598. 5980 print"sie koennen schulden machen, aber seien"
  599. 5990 print"sie vorsichtig, denn die zinsen liegen"
  600. 6000 print"bei 50% pro jahr und sie koennten daran"
  601. 6010 print"leicht bankrott gehen!"
  602. 6020 printcd$:gosub500:return
  603. 6030 rem koenig arthus ==========64
  604. 6040 rem 38911 bytes memory    ====
  605. 6050 rem 16032 bytes program   ====
  606. 6060 rem 00805 bytes variables ====
  607. 6070 rem 01360 bytes arrays    ====
  608. 6080 rem 10048 bytes strings   ====
  609. 6090 rem 02474 bytes free      ====
  610.